package com.example.demo.pojo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

@NoArgsConstructor
@AllArgsConstructor
@Data
@TableName("competition")
public class Competition implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId("id")
    private Integer id;
    private String cname;

    private String year;
    private String content;
    //@DateTimeFormat(pattern = "yyyy-MM-dd")

    //@JsonFormat注解可以使在前端显示的日期是这个格式的
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date date;
    private String norm;
    private String news;
    /*这里不能用int，要用引用类型Integer，因为在修改新闻那里我们用的competitionService.updateById(competition)，
     *这里需要了解一下updateById方法，从前端传过来的competition对象只有id和news两个属性，那么其他属性就是默认的null，
     * 而updateById方法里如果对象的某个属性值是null，那么就不会修改这个字段，所以在只有id和news两个属性的情况下只会修改数据库的
     * news字段，其他字段不变，这里如果用int，而前端传过来的对象没有status属性，那么它默认是0而不是null，用updateById方法
     * 的时候就会修改成0而不是不修改status字段，这里要注意一下
     *
     * 扩展：如果从前端传过来一个user对象，要对数据库做修改，如果需求是不能修改password字段，那么可以user.setPassword(null)
     * 然后updateById(User user)就可以了 */
    private Integer status;

}
